1. Field of the Invention
The present invention relates to determining hardware performance, and more specifically to address trace generation.
2. Description of the Related Art
Traditionally, benchmarks of computer hardware is conducted to determine hardware performance. Generally, hardware traces are produced through a technique called sampling. The hardware runs the benchmark for some specified number of instructions or period of time. After this period, the hardware takes a trap. Software then queries and records hardware state. Software then resumes the benchmark at the point of the trap and allows the benchmark to run for another period. This period is followed by another trap and recording of state. This pattern continues for some predetermined number of traps or periods. The primary disadvantage to a software sampling method is that the execution of the benchmark itself is stopped during the sampling, which perturbs its behavior and distorts the resulting trace. In addition, sampling (whether through software or hardware) only gives single points of information. No information is recorded about what occurred between the samples.
Accordingly, what is needed is an apparatus and a method for providing instruction and data traces without perturbing the system being traced.